##############################################################################3
## 题目一：有一个n个数的数组，找出出现次数大于n/2的元素
lst=[1,2,3,4,2,2,2,2,3,3,3]
# def get_count1(lst):    ###法一：利用模块中的Counter方法，直接得到列表中各个元素出现的次数
#     from collections import Counter  # 引入计数器
#     new_num = Counter(lst)  # 以类似于字典形式保存
#     print(new_num)
#     for i, value in new_num.items():
#         if value>len(lst)/2:
#             print(i)
#             break
#             return i
#     return 0
# get_count1(lst)

def get_count2(lst):    ###法二：利用集合的特性去重，再遍历整个数组，统计每个次数出现的次数
    data=set(lst)   ###得到数组中所有的元素[1,2,3,4]
    for d in data:
        count=0
        for i in lst:
            if i==d:
                count+=1   ##统计元素出现的次数
        if count>len(lst)/2:
            print(d,"出现次数是",count)
            break
            return d
    return 0
get_count2(lst)
